BoolTool: A Tool for Manipulation of Boolean Functions
نویسندگان
چکیده
A new tool for manipulation of logic functions is presented in this paper. The source functions are described by an algebraic expression (or a set of expressions), in a VHDL-like style, by a truth table (PLA) or as a CNF form. In particular, any multilevel network of logic gates can be used as a source for the tool. The tool is capable of performing basic Boolean operations on the source functions, like negating the function, performing AND, OR, XOR operations, etc., between two or more functions. Then, the tool is able to mutually transform the CNF and DNF function representations, which also enables to solve a satisfiability (SAT) problem as a byproduct. Last, but not least, the tool performs a function collapsing, i.e., it transforms a multi-level Boolean network into its two-level description (truth table). Some Boolean operations, like computing a negation of a function in DNF, are rather time and memory consuming. For this reason a special structure called a “ternary tree” is introduced. The ternary tree is used to store the function’s terms and to perform a basic minimization of the function representation. Basic principles of the ternary tree representation of a function and its minimization principles are described in this paper too. The proposed tool was tested on several different problems (minimization of a function, SAT solving, collapsing) and compared with state-of-the-art tools.
منابع مشابه
ON THE FUZZY SET THEORY AND AGGREGATION FUNCTIONS: HISTORY AND SOME RECENT ADVANCES
Several fuzzy connectives, including those proposed by Lotfi Zadeh, can be seen as linear extensions of the Boolean connectives from the scale ${0,1}$ into the scale $[0,1]$. We discuss these extensions, in particular, we focus on the dualities arising from the Boolean dualities. These dualities allow to transfer the results from some particular class of extended Boolean functions, e.g., from c...
متن کاملProbabilistic manipulation of Boolean functions using free Boolean diagrams
We propose a data structure for Boolean functions termed the Free Boolean Diagram. A Free Boolean Diagram allows decision vertices as in the conventional Binary Decision Diagram, but also allows function vertices corresponding to the and and xor functions. It has been shown previously that the equivalence of two Free Boolean Diagrams can be decided probabilistically in polynomial time. Based on...
متن کاملAn Improved Algorithm for Network Reliability Evaluation
Binary Decision Diagram (BDD) is a data structure proved to be compact in representation and efficient in manipulation of Boolean formulas. Using Binary decision diagram in network reliability analysis has already been investigated by some researchers. In this paper we show how an exact algorithm for network reliability can be improved and implemented efficiently by using CUDD - Colorado Univer...
متن کاملFaster Logic Manipulation for Large Designs
When logic transformations, such as circuit restructuring, technology mapping, and post-mapping optimization, are repeatedly applied to large hardware designs, millions of relatively small (6-16 input) Boolean functions have to be efficiently manipulated. This paper focuses on a novel representation of these small functions, in terms of their disjoint-support decomposition (DSD) structures. A n...
متن کاملFrontiers of Feasible and Probabilistic Feasible Boolean Manipulation with Branching Programs
Extended Abstract Abstract. A central issue in the solution of many computer aided design problems is to nd concise representations for circuit designs and their functional speciication. Recently, a restricted type of branching programs (OBDDs) proved to be extremely useful for representing Boolean functions for various CAD applications Bry92]. Unfortunatelly, many circuits of practical interes...
متن کامل